Optimize gdk_window_set_shape_combine_region
authorMatthias Clasen <mclasen@redhat.com>
Wed, 15 Dec 2010 03:21:39 +0000 (22:21 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Wed, 15 Dec 2010 03:21:39 +0000 (22:21 -0500)
When setting no shape on an unshaped window, nothing changes,
so return early instead of recomputing lots of visibility
information.

Pointed out by Owen Taylor in bug 637156.

gdk/gdkwindow.c

index becfba57f5706e18a5d698f0297df348242e8b0e..54f5d2f5d12ee0c5d09b01ab53d3d70d55e7851a 100644 (file)
@@ -7167,6 +7167,9 @@ gdk_window_shape_combine_region (GdkWindow       *window,
   if (GDK_WINDOW_DESTROYED (window))
     return;
 
+  if (!window->shape && shape_region == NULL)
+    return;
+
   window->shaped = (shape_region != NULL);
 
   if (window->shape)